package com.explorati.interview.interview.chapterfifteen.sort;

import java.util.Comparator;

/**
 * 支持泛型类的排序，用比较器实现
 * 
 * @author explorati
 *
 * @param <E>
 */
public class SSortVersion2<E extends Comparable<E>> implements Sort {

	@Override
	public void sort(Comparable[] arr) {

		for (int i = 0; i < arr.length - 1; i++) {
			int min = i;
			// i后面的每个元素都和他比较
			for (int j = i + 1; j < arr.length; j++) {
				if (arr[j].compareTo(arr[min]) < 0) {
					min = j;
				}
			}
			if (min != i) {
				E temp = (E) arr[min];
				arr[min] = arr[i];
				arr[i] = temp;
			}
		}
	}

}
